Зміст
Шифрування афінним шифром.
Завдання
Теоретичні відомості
Вибір ключів
Блок-схема алгоритму
Список ідентифікаторів
Текст програми
Відкритий текст
Результат шифрування
Шифрування шифром RSA
Завдання
Теоретичні відомості
Вибір ключів
Зашифрування
Розшифрування
Висновки
Завдання
Вибрати ключі та розробити програму для за шифрування файлу даних заданим афінним шифром. Тип афінного шифру визначається останньою цифрою i НЗК. Об‘єм алфавіту визначається передостанньою цифрою j НЗК і дорівнює .
i
2
i mod 6
2
Тип афінного шифру
Афінний 1-го порядку
j
0
Розрядність алфавіту
5
Об‘єм алфавіту
32
Теоретичні відомості
Афінні шифри- підклас шифрів заміни, що включає, як частковий випадок шифр Віжінера і навіть шифр перестановки з фіксованим періодом.
N-символьний алфавіт ототожнюємо з кільцем . А саме кожна буква замінюється своїм номером у алфавіті, причому нумерація починається з нуля. Наприклад, латинська абетка ототожнюється із , а українська із . Літера а української абетки трактується як нуль, літера б як 1, в як 2. Тепер до букв відкритого тексту ми можемо вільно застосовувати операцію додавання та множення за відповідним модулем.
Афінний шифр.
Ключі: a, такі, що , , .
Шифрування. У повідомлені кожна буква заміщується буквою .
Дешифрування. У криптотексті кожна буква заміщуються буквою ,де і .
Вибір ключів
Виберемо ключ а=23, s=29
Блок-схема алгоритму
Список ідентифікаторів
Ідентифікатор
Призначення
int n=32
Глибина алфавіту
int a=23
Ключ
int eofin
Прапорець кінця вхідного файлу
int ready
Прапорець готовності символа для запису у вих.. буфер
int k1
Лічильник бітів вхідного буфера
int k2
Лічильник бітів вихідного буфера
unsigned long indata
Вхідний буфер
unsigned long outdata
Вихідний буфер
unsigned long x
Символ
FILE *fin
Вхідний файл
FILE *fout
Вихідний файл
Текст програми
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
void main(void)
{
int n=32, a=23, s=29, eofin=0, ready=1, k1=32, k2=32;
unsigned long indata, outdata = 0, x; FILE *fin, *fout; char *str;
if ( (fin=fopen("c:\\plain.f", "rb")) == NULL )
{
printf("cannot open the file data.fb");
getch();
exit(1);
}
else
if ( (fout=fopen("c:\\encrypt.f", "wb")) == NULL )
{
printf("cannot open the file data.fbc");
getch();
exit(1);
}
else
{
if (fread(&indata, 1, 4, fin) != 0)
while (!eofin)
{
if (k1<=0)
{
if (fread(&indata, 1, 4, fin) != 0)
{
x |= (indata << (5+k1)) & (n-1);
indata >>= (-k1);
k1 += 32;
ready = 1 & !(k1==32);
}
else
{
eofin = 1;
ready = 1;
}
}
else
{
x = indata & (n-1);
indata >>= 5;
k1 -= 5;
ready = 1 & (k1>=0);
}
if (ready)
{
x = (unsigned int)(fmod(a*x+s, n));
// printf("%4x", x);
itoa(x, str, 10);
fputs(strcat(str, " "), stdout);
outdata |= x << (32-k2);
k2 -= 5;
if (k2<=0)
{
fwrite(&outdata, 4, 1, fout);
outdata &= 0;
if (k2==0) k2 = 32;
else
{
outdata |= x >> (5+k2);
k2 += 32;
}
}
}
}
fclose(fin);
fclose(fout);
}
}
Відкритий текст
Важливу роль у фізичному вихованні дітей Категорично однозначно визначав роль батьків у вихованні дітей Ж. Руссо. вважав, що той, хто не може виховувати дітей, не повинен мати, бідність, робота, повага людей не позбавляють батьків обов'язку виховувати самому своїх дітей, а Котляревський у поемі "Енеїда" гнівно засуджував тих батьків, хибно виховували своїх дітей:
Батьки, синів не вчили,
А гладили по головах,
тільки знай, що хвалили,
Кипіли в нефті в казанах.
Батьки — найперші вихователі. Час повернути дітей дітям, час припинити конфронтації школою Батьки повинні відпові
дати перед власною совістю, народом, державою за виховання власних дітей. Колись так було. — це народ, нація в рівня культури залежить рівень культури, вихованості дітей. Саме тут формуються людя
ність, духовність, гідність, а також культ матері батька, бабусі дідуся, культ роду народу.
Невипадково нар...